var express = require('express');
var router = express.Router();
var db=require('../models/db.js');


// 注册接口
router.post('/register', function(req, res, next) {
  var registerAccount=req.body.registerAccount;
  var registerPassword=req.body.registerPassword;
  var roleType=req.body.roleType;
  db.find('teacherUserInfor',{"accout":registerAccount},function(err,result){
    if(result.length){//有这个用户
       res.send(errorMsg("用户名已经存在",-1))
       return
    }else{//根据 学生和教师 不同的角色 插入不同的数据库
        db.find('studentUserInfor',{"accout":registerAccount},function(err,result){
          if(result.length){//有这个用户
            res.send(errorMsg("用户名已经存在",-1))
            return
          }else{// 根据用户角色 插入不同的数据库集合
            insertWhichOne(roleType,registerAccount,registerPassword,roleType,res)
          }
        })
    }
  })
});



// 登陆时验证用户名和密码是否正确 或者 是否注册
router.post('/validateLoginUserInfor', function(req, res, next) {
  var account=req.body.account;
  var password=req.body.password;
  db.find('teacherUserInfor',{"accout":account},function(err,result){
    if(result.length==0){//教师没有这个用户 去学生数据库
      db.find('studentUserInfor',{"accout":account},function(err,result){
        if(result.length==0){
           res.send(errorMsg("用户名不存在",-1))
        }else{
           if(password==result[0].password){//用户的密码 输入正确
              res.send(errorMsg("验证成功",200))
           }else{
              res.send(errorMsg("您输入的密码有误",-2))
           }
        }
      })
    }else{
       if(password==result[0].password){//用户的密码 输入正确
          res.send(errorMsg("验证成功",200))
       }else{
          res.send(errorMsg("您输入的密码有误",-2))
       }
    }
  })
});



// 登陆接口
router.post('/login', function(req, res, next) {
  var account=req.body.account;
  var password=req.body.password;
  res.send(
     {
      content:{
        userType:'',
        token:'',
        userName:'',
      }, 
      errorMsg:'登陆成功',status:200,timeStamp:null})
});













// 接口返回消息
function errorMsg(errorMsg,status){
  return {content:{}, errorMsg:errorMsg,status:status,timeStamp:null}  
}

// 根据用户角色 插入不同的数据库集合
function insertWhichOne(roleType,registerAccount,registerPassword,roleType,res){
  if(roleType=='1'){//教师
    db.insertOne('teacherUserInfor',{"accout":registerAccount,"password":registerPassword,'roleType':roleType},function(err,result){
        res.send(errorMsg("注册成功",200))
    })
   }
  if(roleType=='2'){//学生
      db.insertOne('studentUserInfor',{"accout":registerAccount,"password":registerPassword,'roleType':roleType},function(err,result){
        res.send(errorMsg("注册成功",200))
      })
  }
};
module.exports = router;